35 research outputs found

    Correctness by Construction for Pairwise Sequence Alignment Algorithm in Bio-Sequence

    Get PDF
    Pairwise sequence alignment is a classical problem in bioinformatics, aiming at finding the similarity between two sequences, which is important for discovering functional, structural and evolutionary information in biological sequences. More algorithms have been developed for the sequence alignment problem. There is no formal development process for the existing pairwise sequence algorithms and leads to the low trustworthiness of those algorithms. In addition, the application of formal methods in the field of bioinformatics algorithm development is rarely seen. In this paper, we use a formal method PAR to construct a pairwise sequence algorithm, analyze the essence of the pairwise sequence alignment problem, construct the Apla algorithm program by stepwise refinement, and further verify its correctness. Finally a highly reliable and executable pairwise sequence alignment algorithm program is generated from Apla program via PAR platform. The formal construction process ensures the reliability of algorithm, and also demonstrates the algorithm design idea clearly, which makes the originally difficult algorithm design process easier. The successful practice of this method on the pairwise sequence alignment problem in biological sequence analysis can provide a reference for the construction of highly reliable algorithms in complex bioinformatics from both methodological and practical aspects

    A Method for Bio-Sequence Analysis Algorithm Development Based on the PAR Platform

    Get PDF
    The problems of biological sequence analysis have great theoretical and practical value in modern bioinformatics. Numerous solving algorithms are used for these problems, and complex similarities and differences exist among these algorithms for the same problem, causing difficulty for researchers to select the appropriate one. To address this situation, combined with the formal partition-and-recur method, component technology, domain engineering, and generic programming, the paper presents a method for the development of a family of biological sequence analysis algorithms. It designs highly trustworthy reusable domain algorithm components and further assembles them to generate specifific biological sequence analysis algorithms. The experiment of the development of a dynamic programming based LCS algorithm family shows the proposed method enables the improvement of the reliability, understandability, and development efficiency of particular algorithms

    Gene Sequence Assembly Algorithm Model Based on the DBG Strategy and Its Application

    No full text
    With the continuous development of sequencing technology, the amount of bioinformatics data has increased geometrically, and the massive amount of bioinformatics data puts forward more stringent requirements for sequence assembly problems. The sequence assembly algorithm based on DBG (De Bruijn graph) strategy is a key algorithm in bioinformatics, which is widely used in the domain of gene sequence assembly. Current research on the domain of sequence assembly always focuses on optimization of specific steps to a specific algorithm and lack of research on domain-level high-abstract algorithm frameworks. To some extent, it leads to the redundancy of the sequence assembly algorithm, and some problems may be caused by the artificial selection algorithm. This paper analyzes the domain of DBGSA and establishes a feature model of this domain. Based on the production programming method, the DBGSA algorithm component is interactively designed. With the support of the PAR platform, the DBGSA algorithm component library is formally implemented, and furthermore, the DBGSA component library is used to assemble the specific algorithm. This research adds domain-level research to the domain of sequence assembly and implements the DBGSA component library, which can assemble specific sequence assembly algorithms, ensuring the efficiency of algorithm development and the reliability of assembly generation algorithms. At the same time, it also provides a valuable reference for solving problems in the domain of sequence assembly

    generating provably correct algorithmic programs from formal specifications

    No full text
    National Laboratory for Parallel and Distributed Processing; The University of Hong KongSoftware automation has been viewed as a revolutionary way to improve the dependability and productivity of software. The paper takes the sorting algorithms as study cases, employs PAR method and generic techniques, and derives two abstract generic sorting algorithmic programs, from which a class of concrete sorting algorithmic programs can be generated automatically through operation replacement. And further specialized programs can be produced in multiple languages from a single copy of the instantiated algorithmic program automatically by means of the PAR platform. © 2010 IEEE

    formal derivation of two algorithms involving sequences

    No full text
    Using formal method PAR, two algorithms involving sequences, a majority problem deterministic algorithmic solution and computing the mode, are derived. From formal functional specifications, problems are partitioned into sub-problems, problem solving recurrences are constructed through formal specification transformation, and then loop invariants are achieved naturally, the algorithms that can be further transformed into executable programs supported by PAR platform are obtained. Formal derivation using PAR makes the algorithm idea is exhibited naturally and clearly. © 2011 IEEE.IEEE Computer Society; Int. Assoc. Comput. Inf. Sci. (ACIS); Institute of Electrical and Electronics Engineers (IEEE); Hainan UniversityUsing formal method PAR, two algorithms involving sequences, a majority problem deterministic algorithmic solution and computing the mode, are derived. From formal functional specifications, problems are partitioned into sub-problems, problem solving recurrences are constructed through formal specification transformation, and then loop invariants are achieved naturally, the algorithms that can be further transformed into executable programs supported by PAR platform are obtained. Formal derivation using PAR makes the algorithm idea is exhibited naturally and clearly. © 2011 IEEE

    a generative approach to searching algorithmic programs development

    No full text
    Using highly configurable semi-automatic approach to algorithmic programs development can improve correctness and productivity. This paper explores a way to use generative techniques to produce the algorithmic programs for searching problem. Based on PAR method and PAR platform, it is to formally develop generic type component and algorithm components, and to design a formal algorithm generative model that models an invariant behavior in terms of variant behaviors, and then to automatically generate a variety of specialized searching algorithmic programs through replacing the generic identifiers with a few concrete operations. Through the super framework and underlying components, the reliability and productivity of domain specific algorithms are dramatically improved. © 2011 IEEE.IEEE CS; IFIPUsing highly configurable semi-automatic approach to algorithmic programs development can improve correctness and productivity. This paper explores a way to use generative techniques to produce the algorithmic programs for searching problem. Based on PAR method and PAR platform, it is to formally develop generic type component and algorithm components, and to design a formal algorithm generative model that models an invariant behavior in terms of variant behaviors, and then to automatically generate a variety of specialized searching algorithmic programs through replacing the generic identifiers with a few concrete operations. Through the super framework and underlying components, the reliability and productivity of domain specific algorithms are dramatically improved. © 2011 IEEE

    New Construction of Family of MLCS Algorithms

    No full text
    The multiple longest common subsequence (MLCS) problem involves finding all the longest common subsequences of multiple character sequences. This problem is encountered in a variety of areas, including data mining, text processing, and bioinformatics, and is particularly important for biological sequence analysis. By taking the MLCS problem and algorithms for its solution as research domain, this study analyzes the domain of multiple longest common subsequence algorithms, extracts features that algorithms in the domain do and do not have in common, and creates a domain feature model for the MLCS problem by using generic programming, domain engineering, abstraction, and related technologies. A component library for the domain is designed based on the feature model for the MLCS problem, and the partition and recur (PAR) platform is used to ensure that highly reliable MLCS algorithms can be quickly assembled through component assembly. This study provides a valuable reference for obtaining rapid solutions to problems of biological sequence analysis and improves the reliability and assembly flexibility of assembling algorithms

    A New Implementation of Genome Rearrangement Problem

    No full text
    Unsigned reverse genome rearrangement is an important part of bioinformatics research, which is widely used in biological similarity and homology analysis, revealing biological inheritance, variation, and evolution. Branch and bound, simulated annealing, and other algorithms in unsigned reverse genome rearrangement algorithm are rare in practical application because of their huge time and space consumption, and greedy algorithms are mostly used at present. By deeply analyzing the domain of unsigned reverse genome rearrangement algorithm based on greedy strategy (unsigned reverse genome rearrangement algorithm (URGRA) based on greedy strategy), the domain features are modeled, and the URGRA algorithm components are interactively designed according to the production programming method. With the support of the PAR platform, the algorithm component library of the URGRA is formally realized, and the concrete algorithm is generated by assembly, which improves the reliability of the assembly algorithm

    towards semi-automatic generation of provably correct algorithmic programs

    No full text
    Int Assoc Comp & Informat Sci, Cent Michigan Univ, Qingdao Technol UnivThe paper gives an overview of a PAR-based Algorithm Design System PADS. PADS provides formal and semi-automatic support for the generation of algorithmic programs as well as loop invariants. It has several extensible built-in libraries that

    a mechanical approach for deriving algorithmic programs

    No full text
    IEEE Comp Soc, Int Assoc Comp & Informat SciFormal algorithm derivation is valuable in ensuring resultant algorithm correctness, revealing ideas behind algorithm, and studying automatic algorithm design. An approach called mechanical partition-and-recur (MPAR for short) for deriving al
    corecore